package com.community.contents.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.community.contents.dto.PostDTO;
import com.community.contents.entity.PostEntity;
import com.community.contents.entity.UserEntity;
import com.community.contents.vo.PostVo;

import java.util.List;

/**
 * <p>
 * 帖子 服务类
 * </p>
 *
 * @author admin
 * @since 2023-02-22
 */
public interface IPostService extends IService<PostEntity> {

    /**
    * pageDto 帖子分页方法
    * @Description:
    * @Date: 2023/3/3 23:19
    * @Author: hjs
    * @param page:
    * @return: void
    **/
    void pageDto(Page<PostDTO> page);

    /**
    * detail
    * @Description:
    * @Date: 2023/3/3 23:19
    * @Author: hjs
    * @param id: 帖子id
    * @return: com.community.contents.vo.PostVo
    **/
    PostVo detail(Integer id);


    /**
     * 获取当前用户的帖子信息
     *
     * @param p
     * @param userId
     * @return
     */
    void releaseList(Page<PostVo> p, Integer userId);

	List<PostEntity> hotPost();

    /**
    * userList
    * @Description: 查询圈子下发过帖子的用户列表
    * @Date: 2023/3/7 17:39
    * @Author: hjs
    * @param topicId:圈子ID
    * @return: java.util.List<com.community.contents.entity.UserEntity>
    **/
    Page<UserEntity> userList(Integer topicId,Page<UserEntity> page);

    /**
    * postList
    * @Description:查询圈子下的帖子表
    * @Date: 2023/3/7 19:48
    * @Author: hjs
    * @param page:
     * @param topicId:
    * @return: void
    **/
    void postList(Page<PostVo> page, Integer topicId);

}
